﻿using Iworld.Author.Service.Backstage.Import;
using Iworld.Author.Service.Backstage.Export;
using Iworld.basis.Service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace Iworld.Author.Service.Backstage
{
    /// <summary>
    /// 后台用户服务接口
    /// </summary>
   [ServiceContract]
   public interface IAuthorService
   {
       #region 查询数据

       /// <summary>
       /// 获取用户信息的分页列表
       /// </summary>
       /// <param name="import">参数集</param>
       /// <returns>返回用户信息的分页列表</returns>
       [OperationContract]
       PageResult<AuthorExport> GetUsers(GetUsersImport import);

       /// <summary>
       /// 获取用户登录记录的分页列表
       /// </summary>
       /// <param name="import">参数集</param>
       /// <returns>返回用户登录记录的分页列表</returns>
       [OperationContract]
       PageResult<AuthorLandingRecordExport> GetLandingRecords(GetLandingRecordsImport import);

       /// <summary>
       /// 获取用户帐变记录的分页列表
       /// </summary>
       /// <param name="import">参数集</param>
       /// <returns></returns>
       [OperationContract]
       PageResult<AuthorGoldsChangeRecordExport> GetGoldsChangeRecords(GetGoldsChangeRecordImport import);


       /// <summary>
       /// 获取充值卡记录
       /// </summary>
       /// <param name="import"></param>
       /// <returns></returns>
       [OperationContract]
       PageResult<RechargeCardRecordExport> GetRechargeCardRecords(GetRechargeCardRecordsImport import);

       /// <summary>
       /// 获取提现记录
       /// </summary>
       /// <param name="import"></param>
       /// <returns></returns>
       [OperationContract]
       PageResult<WithdrawalsRecordExport> GetWithdrawalsRecordExports(GetWithdrawalsRecordExportsImport import);
       #endregion

       #region 操作

       /// <summary>
       /// 改变提现状态
       /// </summary>
       /// <param name="import"></param>
       /// <returns></returns>
       [OperationContract]
       NormalResult ChangeWithdrawalsStatus(ChangeWithdrawalsStatusImport import);

       
       /// <summary>
       /// 生成充值卡
       /// </summary>
       /// <param name="import"></param>
       /// <returns></returns>
       [OperationContract]
       NormalResult<RechargeCardRecordExport> GenerateRechargeCard(GenerateRechargeCardImport import);
     
       /// <summary>
       /// 强制移除用户
       /// </summary>
       /// <param name="import">数据集</param>
       /// <returns>返回操作结果</returns>
       [OperationContract]
       NormalResult RemoveUser(RemoveUserImport import);

       /// <summary>
       /// 修改用户资料
       /// </summary>
       /// <param name="import">数据集</param>
       /// <returns>返回操作结果</returns>
       [OperationContract]
       NormalResult EditUser(EditUserImport import);
       #endregion
   }
}
